package com.example.service.collar;

import com.example.pojo.CollarMsg;
import com.example.pojo.PetTemperatureLimit;
import com.example.pojo.Railing;

/**
 * @author w
 */
public interface RailingService {

    /**
     * 插入电子围栏
     * @param railing 电子围栏
     * @return 插入的围栏id,不存在则返回0
     */
    int insert(Railing railing);

    /**
     * 判断宠物是否越界
     * @param collarMsg 宠物实时位置信息
     * @param collarId 项圈ip-》宠物id-》用于查询电子围栏信息
     * @return 越界信息，如果没越界则为null
     */
    Railing isOutOfBounds(CollarMsg collarMsg,String collarId);

    /**
     * 根据id修改电子围栏
     * @param railing id不变的，修改后的电子围栏信息
     * @return 是否成功
     */
    boolean update(Railing railing);

    /**
     * 判断项圈是否超过限制
     * @param collarId 项圈id
     * @param collarMsg 温度信息
     * @return 是否警告
     */
    boolean isOutTemperatureLimit(String collarId,CollarMsg collarMsg);


    /**
     * 设置监听宠物温度上下限
     * @param petTemperatureLimit 温度上下限信息，包括宠物id
     * @return 是否成功
     */
    boolean setPetTemperatureLimit(PetTemperatureLimit petTemperatureLimit);
}
